package com.qujia.station.enums;

import java.util.Arrays;
/**
 * appType  应用渠道 1微信 2支付宝 3银行卡
 * pay_way表中的渠道费率
 * @author adminLiu
 *
 */
public enum PayWayServiceChargeEnum {


    /**
     * 1微信
     */
    APPTYPE_WECHAT("微信",1),

    /**
     * 2支付宝
     */
    APPTYPE_ALIPAY("支付宝",2),

    /**
     * 3银行卡
     */
    APPTYPE_BANK_CARD("银行卡",3),

    /**
     * 4pos机
     */
    APPTYPE_POS("POS",4),
    ;



    private String key;//用来做国际化的KEY
    private Integer value;//数据库存的值

    // 构造方法
    PayWayServiceChargeEnum(String key, Integer value) {
        this.key = key;
        this.value = value;
    }

    //覆盖方法
    @Override
    public String toString() {
        return this.key + ":" + this.value;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public Integer getValue() {
        return value;
    }

    public void setValue(Integer value) {
        this.value = value;
    }

    /**
     * 根据value获得枚举对象
     * @param value value值
     * @return
     */
    public static PayWayServiceChargeEnum getByValue(Integer value){
        for(PayWayServiceChargeEnum chargeEnum : values()){
            if (chargeEnum.getValue().equals(value)) {
                return chargeEnum;
            }
        }
        return null;
    }


    public static Integer getValue(String type) {
        return Arrays.stream(values()).filter(e -> e.getKey().equals(type)).findFirst().map(PayWayServiceChargeEnum::getValue).orElse(null);
    }

    public static String getKey(int value) {
        return Arrays.stream(values()).filter(e -> e.getValue().equals(value)).findFirst().map(PayWayServiceChargeEnum::getKey).orElse(null);
    }

}

